package com.first.common.pojo;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
* 专区
* @TableName tb_zone
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "专区管理")
@TableName(value = "tb_zone")
public class TbZone implements Serializable {

    /**
    * 主键
    */
    @ApiModelProperty("主键")
    @TableId(type = IdType.AUTO)
    private String id;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(value = "gmt_create")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime gmtCreate;
    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @TableField(value = "gmt_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime gmtModified;
    /**
    * 状态(1:正常;0:禁用)
    */
    @ApiModelProperty("状态(1:正常;0:禁用)")
    @TableField(value = "is_deleted")
    private Integer isDeleted;
    /**
    * 排序
    */
    @ApiModelProperty("排序")
    @TableField(value = "is_disable")
    private Integer isDisable;
    /**
    * 名称
    */
    @ApiModelProperty("名称")
    @TableField(value = "zone_name")
    private String zoneName;
    /**
    * 描述
    */
    @ApiModelProperty("描述")
    @TableField(value = "zone_desc")
    private String zoneDesc;

    @TableField(exist = false)
    private List<EduCourse> courseList;

}
